using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;
using Microsoft.Xna.Framework.Content;

using Programonica.Igramonica.OctTreeClasses;
using Programonica.Igramonica.Core;

namespace Programonica.Igramonica.Graphics
{
    public interface IGraphicsComponent : IComponentBase
    {
        Matrix Transform
        {
            get;
            set;
        }

        bool IsCustom
        { 
            get;
        }

        EffectBase[] CustomEffects
        { 
            get;
        }

        GraphicsScene GraphicsScene
        {
            get;
            set; 
        }

        void LoadContent();

        void Render(GraphicsDevice graphicsDevice, GameTime gameTime);
    }
}